package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.NursingProjectDto;
import com.zzyl.vo.NursingProjectVo;

import java.util.List;

/**
 * NursingProjectService接口，定义了护理项目的增删改查操作
 **/

public interface NursingProjectService {

    /**
     * 分页查询护理项目
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @param name 护理项目名称
     * @param status 状态：0-禁用，1-启用
     * @return
     */
    PageResponse<NursingProjectVo> findByPage(int pageNum, int pageSize, String name, Integer status);

    /**
     * 新增护理项目
     * @param nursingProjectDto 护理项目信息
     */
    void add(NursingProjectDto nursingProjectDto);

    /**
     * 根据ID查询护理项目
     * @param id 护理项目id
     * @return
     */
    NursingProjectVo findById(Long id);

    /**
     * 更新护理项目
     * @param nursingProjectDto 护理项目信息
     */
    void update(NursingProjectDto nursingProjectDto);

    /**
     * 更新护理项目状态
     * @param id 护理项目id
     * @param status 状态
     */
    void updateStatus(Long id, Integer status);

    /**
     * 根据ID删除护理项目
     * @param id 护理项目id
     */
    void deleteById(Long id);

    /**
     * 查询所有护理项目
     * @return
     */
    List<NursingProjectVo> findAll();
}
